package com.cnap.model.image.config;

/**
 * 配置信息
 *
 * @author xc
 **/
public class ConfigInfo {
    /*
     | - 应用目录
        | - config 应用的元数据描述
        | - xxx.tar 镜像离线包x
        | - yyy.tar 镜像离线包y
        | - xxx.yaml 镜像离线包x基础配置
        | - yyy.yaml 镜像离线包y基础配置

            其中config配置文件中字段说明：
        1、image  -- 微服务导出的镜像tar包，用于load至镜像仓库
        2、imageName  -- 镜像的名称
        3、imageMd5  -- 该镜像tar包的md5加密摘要，用于校验镜像tar包是否被修改，参考生成案例：linux下md5sum -b xxx.tar
        4、path  -- 该微服务对外暴露的访问路径信息，当前为根目录
        5、serviceName  –- 服务名称
        6、yaml  --微服务的镜像tar对应的yaml描述文件，yaml包含该微服务部署至k8s的所有资源信息（deployment、service、configmap等）
     */

    // 镜像信息
    private ConfigImageInfo configImageInfo;
    // 服务信息
    private ConfigServiceInfo configServiceInfo;
    // yaml信息
    private ConfigYamlInfo configYamlInfo;

    public ConfigImageInfo getConfigImageInfo() {
        return configImageInfo;
    }

    public void setConfigImageInfo(ConfigImageInfo configImageInfo) {
        this.configImageInfo = configImageInfo;
    }

    public ConfigServiceInfo getConfigServiceInfo() {
        return configServiceInfo;
    }

    public void setConfigServiceInfo(ConfigServiceInfo configServiceInfo) {
        this.configServiceInfo = configServiceInfo;
    }

    public ConfigYamlInfo getConfigYamlInfo() {
        return configYamlInfo;
    }

    public void setConfigYamlInfo(ConfigYamlInfo configYamlInfo) {
        this.configYamlInfo = configYamlInfo;
    }

    @Override
    public String toString() {
        return "ConfigInfo{" +
                "configImageInfo=" + configImageInfo +
                ", configServiceInfo=" + configServiceInfo +
                ", configYamlInfo=" + configYamlInfo +
                '}';
    }
}
